/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package symulacja;

import java.awt.Color;
import java.awt.Graphics;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import javax.swing.JButton;

/**
 *
 * @author admin
 */
class Wylacznik  extends JButton implements   MouseListener, ActionListener
    {
        public Wylacznik()
        {         
            this.setBackground(Color.white);
      //      this.setBackground(Color.red);  
            this.setBounds(140, 70, 60, 40);
            this.setBorder(null);          
            this.addMouseListener(this);    
            this.addActionListener(this);
           
        }
        
        
        
        @Override
        public void mouseClicked(MouseEvent e) {
           
        }

        @Override
        public void mousePressed(MouseEvent e) {
            
        }

        @Override
        public void mouseReleased(MouseEvent e) {
            
        }

        @Override
        public void mouseEntered(MouseEvent e) {
   //         System.out.println("Najeches na Wylacznik");
            kolor=Color.RED;
            aktualizuj();
        }
        
        @Override
        public void mouseExited(MouseEvent e) {
       //     System.out.println("Zjechales z Wylacznika ");
            kolor=Color.BLACK;
            aktualizuj();
        }
        
         @Override
        public void actionPerformed(ActionEvent e) {
            
             if(Sluchacz.sprawdzenie() && this.flaga==false)
             {    
                 this.flaga=true;
                 System.out.println("  if(Sluchacz.sprawdzenie() && this.flaga==false)"+ this.flaga);
                 Sluchacz.funcjaSluchacz();
             }
             
             else if(this.flaga==true) 
             {        
                 this.flaga=false;
                 Symulacja.rysowanie.flaga=false;
                 System.out.println(" if(this.flaga==true)  flagaWylacznika="+ this.flaga);
                  Symulacja.rysowanie.aktualizuj();
             }
             
             
             Symulacja.rysowanie.aktualizuj();
             
             this.aktualizuj();
             System.out.println("Kliknoles wlacznik flagaWylacznika="+ this.flaga);
           
        }
       
        

    
        
        
        public void aktualizuj()
        {
            this.paintComponents(this.getGraphics());
        }   
        
        @Override
        public void paintComponent(Graphics g)
        {
             // Wymiary  (140, 70, 60, 40);
              super.paintComponent(g);
             
             if(!this.flaga)//wylaczony
             {    
                g.setColor(Color.black);
                g.drawLine(0, 30, 10, 30);
                g.setColor(kolor);
                g.fillOval(10, 26, 7, 7);             
                g.drawLine(10, 30, 32, 5);//wylacznik
                g.fillOval(40, 26, 7, 7);      
                g.setColor(Color.black);
                g.drawLine(48, 30, 60, 30);
             } 
             else if(this.flaga)//wlaczony
             {
                
          //      System.out.println("!!!!Rysuje załączony obwod");
                g.setColor(Rysowanie.kolorObwodu);
                g.drawLine(0, 30, 100, 30);
                g.fillOval(10, 26, 7, 7);             
                g.drawLine(10, 30, 40, 30);//wylacznik
                g.fillOval(40, 26, 7, 7);      
                g.drawLine(48, 30, 60, 30);
                 
             }
             
             
        }
        
        private Color kolor=Color.BLACK;
        public static boolean flaga=false;

   

        

        
    }//koniec klasy Wylacznik